home *** CD-ROM | disk | FTP | other *** search
- // SleepView.m
- //
- // You may freely copy, distribute, and reuse the code in this example.
- // NeXT disclaims any warranty of any kind, expressed or implied, as to its
- // fitness for any particular use.
-
- // This view goes in a little 4 pixel window and cause BackSpace to sleep
- // whenever the cursor goes to a preselected corner.
-
- #import "Thinker.h"
- #import "SleepView.h"
- #import <libc.h>
- #import <appkit/timer.h>
-
- @implementation SleepView
-
- - mouseEntered:(NXEvent *)theEvent
- {
- int looping = YES;
- int doSaver = NO;
- NXTrackingTimer myTimer;
-
- NXBeginTimer(&myTimer, 3.0, 5.0);
- while (looping)
- {
- theEvent = [NXApp getNextEvent: NX_TIMERMASK|NX_MOUSEEXITEDMASK];
-
- switch (theEvent->type)
- {
- case NX_TIMER:
- doSaver = YES;
- // now fall into MOUSEEXITED code
-
- case NX_MOUSEEXITED:
- looping = NO;
- break;
- }
- }
-
- NXEndTimer(&myTimer);
- if (doSaver) [BSThinker() showFakeScreenSaver:self];
- return self;
- }
-
- @end
-